1. Field
One or more embodiments relate to an apparatus and method of dynamically distributing load occurring in multiple cores that may determine a corresponding core to perform functions constituting an application program, thereby enhancing the entire processing rate.
2. Description of the Related Art
Due to limitation of a clock improvement and a power issue, an existing single-core system using a single processor is currently changed to a multi-core system using a plurality of processors.
One of important processes in the multi-core system is to utilize a performance and a flexibility provided by the multi-core system, and to manage a complexity of a multi-core processor program.
To sufficiently exhibit the performance of the multi-core system, research about multiple cores, for example, a multi-core operating system, a parallel programming model enabling a parallel process, a dynamic execution environment, and the like, is actively conducted.
When driving single application program software in the multi-core system using a functional division, a load distribution may be performed by dividing the application program software into a plurality of functions, and allocating the plurality of functions to multiple cores.
Although functions are divided to make load in each core be equal, the division may be limited due to a different size of load of each function and various factors such as communication between cores. Therefore, it may be impossible to distribute equal load to each core. In addition, an uncertainty occurring in an actual drive may increase a load inequality.